home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1996 September / JCSM Shareware Collection (JCS Distribution) (September 1996).ISO / tutorial / trac.zip / LESSON2 < prev    next >
Text File  |  1990-02-09  |  30KB  |  602 lines

  1.  
  2.  
  3.  
  4.                          ELEMENTARY COMPUTER PROGRAMMING
  5.                                     Lesson 2
  6.         
  7.                                  Copyright 1990
  8.                           Castle Oaks Computer Services
  9.                               Post Office Box 36082
  10.                            Indianapolis, IN 46236-0082
  11.         
  12.         TRAC, the hypothetical computer introduced in lesson 1, can be 
  13.         simulated on an IBM PC compatible computer. (In fact, it can be 
  14.         simulated on any MS-DOS computer even if it is not fully IBM PC 
  15.         compatible.)  Therefore, it is possible to execute TRAC programs 
  16.         in order to gain a familiarity with coding in machine language.  
  17.         In this lesson, the information needed to actually execute a TRAC 
  18.         program will be given.
  19.         
  20.         First, the problem must be coded according to the rules of the 
  21.         language and the format given in Lesson 1.  After coding the 
  22.         problem on paper, then it must be entered into a disk file on the 
  23.         computer.  This package does not provide the software necessary 
  24.         to do this, but you may use any suitable text editor or word 
  25.         processor in non-document mode.  At Castle Oaks we usually use 
  26.         WORDSTAR (TM MicroPro International Corporation) in non-document 
  27.         mode, but there are several shareware text editors that would 
  28.         also be adequate.  Any file name can be used for your file, but 
  29.         we recommend that the name have an extension of 'OBJ'.  The files 
  30.         that you run with TRAC are called 'object' files and therefore it 
  31.         is desirable to identify them as such.  In the following lessons 
  32.         we will discuss another type of file.
  33.         
  34.         The general command line format for running TRAC is:
  35.         
  36.         TRAC [object file] [trace file]
  37.         
  38.         The parameters in brackets are optional.  If the first parameter 
  39.         is omitted, the program will prompt you for a file descriptor of 
  40.         the object file to be run.  This file descriptor may include a 
  41.         drive letter and subdirectories, if required.  If the second 
  42.         parameter is also omitted from the command line, the program will 
  43.         ask if you want the program traced; and, if so, will ask if you 
  44.         want it traced on the screen or to a file.  If to a file, you 
  45.         will also be prompted for a file name.  If the object file and 
  46.         the trace file are both given on the command line, the program 
  47.         will start to execute without any queries.
  48.         
  49.         The purpose of tracing a program is to trouble shoot it in case 
  50.         it does not function correctly.  It is a good idea to trace the 
  51.         exercises so you can analyze what is happening at each step in 
  52.         order to gain a fuller understanding of the process.  When trac-
  53.         ing a program, each instruction is displayed in the following 
  54.         format:
  55.         
  56.         
  57.         
  58.         
  59.         
  60.         
  61.                                       II-1
  62.  
  63.  
  64.         LLLL T OO AAAA SVVVVVVVVV SAAAAAAAAA
  65.         
  66.         Where LLLL is the location of the instruction;
  67.         
  68.         T is the TAG;
  69.         
  70.         OO is the operation code;
  71.         
  72.         AAAA is the effective address of the operand;
  73.         
  74.         SVVVVVVVVV is the value of the operand; and
  75.         
  76.         SAAAAAAAAA is the current value in the accumulator.
  77.         
  78.         Note that the resulting value of an operation does not appear in 
  79.         the accumulator until the following line is printed.  If you 
  80.         trace your program on the screen, it may print too fast for you 
  81.         to analyze.  You may pause the display at any time by pressing ^S 
  82.         (control-S) or you may send the screen display to the printer by 
  83.         pressing ^P (control-P) before starting your program.  If you 
  84.         send it to a file, later you may either view it on the screen or 
  85.         you can send it to the printer.  It is suggested that when you 
  86.         name a trace file that you give it an extension of 'LST' which 
  87.         will help you identify it as a file to list.  
  88.         
  89.         Figure II-1 is the source code of a simple program to illustrate 
  90.         the execution and tracing of a program.  This program reads in 
  91.         two numbers, finds their sum and difference and prints out the 
  92.         numbers, and the results to the screen.
  93.         
  94.         -----------------------------------------------------------------
  95.         0010     400100 Read X, Y into 100 and 101
  96.         0011     000100 Load X
  97.         0012     010101 Add Y
  98.         0013     030102 Store sum at 102
  99.         0014     410100 Print 100, 101, 102, (also 103 and 104)
  100.         0015     000100 Load X
  101.         0016     020101 Subtract Y
  102.         0017     030102 Store difference at 102
  103.         0018     410100 Print 100, 101, 102, (also 103 and 104)
  104.         0019     500000 Halt
  105.         9999     000010 Start program at 10
  106.         
  107.                                   Figure II-1
  108.         -----------------------------------------------------------------
  109.         
  110.         Figure II-2 shows what appears on the screen when this program is 
  111.         executed.
  112.         
  113.         
  114.         
  115.         
  116.         
  117.         
  118.         
  119.         
  120.         
  121.                                       II-2
  122.  
  123.  
  124.         -----------------------------------------------------------------
  125.         A:\TRAC
  126.                                   TRAining Computer (TRAC)
  127.                                         Version  1.0
  128.                                        Copyright 1990
  129.                                CASTLE OAKS COMPUTER SERVICES
  130.                                   Post Office Box 36082
  131.                                 Indianapolis, IN 46236-0082
  132.         
  133.         What is the name of your object code file?
  134.         FIGII-1.OBJ
  135.         Do you want to trace the program? (Y or N) Y
  136.         Do you want to trace it on screen (S) or on file (F)? S
  137.           10 0 40  100           0           0
  138.         ? 123456789 876543210
  139.           11 0  0  100   123456789           0
  140.           12 0  1  101   876543210   123456789
  141.           13 0  3  102           0   999999999
  142.           14 0 41  100   123456789           0
  143.          123456789  876543210  999999999          0          0
  144.           15 0  0  100   123456789   999999999
  145.           16 0  2  101   876543210   123456789
  146.           17 0  3  102   999999999  -753086421
  147.           18 0 41  100   123456789  -753086421
  148.          123456789  876543210 -753086421          0          0
  149.           19 0 50    0           0  -753086421
  150.         
  151.                                   Figure II-2
  152.         -----------------------------------------------------------------
  153.         
  154.         If the program is run with the object file named on the command 
  155.         line and with no tracing, the resultant screen display will be as 
  156.         shown in Figure II-3.
  157.         
  158.         -----------------------------------------------------------------
  159.         A:\TRAC FIGII-1.OBJ
  160.                                   TRAining Computer (TRAC)
  161.                                         Version  1.0
  162.                                        Copyright 1990
  163.                                CASTLE OAKS COMPUTER SERVICES
  164.                                   Post Office Box 36082
  165.                                 Indianapolis, IN 46236-0082
  166.         
  167.         Do you want to trace the program? (Y or N) N
  168.         ? 123456789 876543210
  169.          123456789  876543210  999999999          0          0
  170.          123456789  876543210 -753086421          0          0
  171.         
  172.                                   Figure II-3
  173.         -----------------------------------------------------------------
  174.         
  175.         Note: Locations 103 and 104 print zero because zero was entered 
  176.         into them implicitly during the read.  Note also that TRAC first 
  177.         clears all memory locations to zero before loading and executing 
  178.         the program.  Do not count on other computers doing this.
  179.         
  180.         
  181.                                       II-3
  182.  
  183.  
  184.         Note that in Figure II-2 the trace printout and the program were 
  185.         both intermixed on the screen.  This may be desirable or it may 
  186.         be undesirable.  If you do not want them together, you can send 
  187.         the trace printout to a file and view it later; or you may send 
  188.         your program output to the printer while tracing on the screen.
  189.         
  190.         The remainder of this lesson will be devoted to showing some 
  191.         other examples.  The coding and tracing of these examples also 
  192.         will be given.
  193.         
  194.         The following Figure gives a flow chart for finding the factorial 
  195.         of a number.  A factorial is the product of all integers up to 
  196.         and including the given number.  Thus factorial 3 is 1*2*3=6; 
  197.         factorial 4 is 1*2*3*4=24; etc.
  198.         
  199.         -----------------------------------------------------------------
  200.                                         |
  201.                                         v
  202.                                     ---------
  203.                                    / Read N /<------------------+
  204.                                    ---------                    |
  205.                                         |                       |
  206.                                         v                       |
  207.                                        / \ <=    +------+       |
  208.                                       <N:0>----->| STOP |       |
  209.                                        \ /       +------+       |
  210.             +------------------+        | >          ^          |
  211.               Note: N>12 is    |        v            |          |
  212.               not allowed      |       / \           |          |
  213.               since the result |      /   \ >=       |          |
  214.               would exceed the | - - <N:13 >---------+          |
  215.               capacity of the  |      \   /                     |
  216.               A register.      |       \./                      |
  217.             +------------------+        | <                     |
  218.                                         v                       |
  219.                                     +-------+                   |
  220.                                     | F = 1 |                   |
  221.                                     | K = 2 |                   |
  222.                                     +-------+                   |
  223.                                         |                       |
  224.                                         v                       |
  225.                            +-------+   / \ >      ------------  |
  226.                            | F=F*K |-><K:N>----->/ Print N,F /--+
  227.                            | K=K+1 |   \ /       ------------
  228.                            +-------+    | 
  229.                                ^        | <=
  230.                                +--------+
  231.         
  232.                                   Figure II-4
  233.         -----------------------------------------------------------------
  234.         
  235.         Figure II-5 gives the coding for the flow chart of Figure II-4.
  236.         
  237.         Note: In a flow chart, a diamond shaped box is used to indicate a 
  238.         decision point.  An expression such as K:N in a diamond means to 
  239.         compare K and N (usually by subtraction) and then taking the 
  240.         appropriate path based on the symbols shown.
  241.                                       II-4
  242.  
  243.  
  244.         -----------------------------------------------------------------
  245.         0010     401901 Read value for N
  246.         0011     001901 Load N into A
  247.         0012     240016 If negative go to stop 
  248.         0013     250016 If zero go to stop
  249.         0014     021801 Subtract 13
  250.         0015     240017 If negative skip around stop
  251.         0016     500000 Stop
  252.         0017     001802 Load 1
  253.         0018     031902 Store at F
  254.         0019     001803 Load 2
  255.         0020     031804 Store at K
  256.         0021     021901 Subtract N
  257.         0022     240026 Jump, if negative, to update F
  258.         0023     250026 Jump, if zero, to update F
  259.         0024     411901 Print
  260.         0025     260010 Branch back to beginning
  261.         0026     001902 Load F
  262.         0027     151804 Multiply by K
  263.         0028     031902 Store at F
  264.         0029     001804 Load K
  265.         0030     011802 Add 1
  266.         0031     031804 Store at K
  267.         0032     260021 Branch to test if done
  268.         1801         13 Constant 13
  269.         1802          1 Constant 1
  270.         1803          2 Constant 2
  271.         9999     000010 End of code
  272.         
  273.                                   Figure II-5
  274.         -----------------------------------------------------------------
  275.         
  276.         There are a few features of this program that should be noted.
  277.         
  278.         Almost any location can be picked to receive the value of N.  In 
  279.         this case, 1901 was chosen.
  280.         
  281.         Constants can go almost anyplace.  In this case, 1801, 1802, and 
  282.         1803 were used for constants.
  283.         
  284.         F could have been stored almost anyplace; but looking ahead, it 
  285.         was noted that it was to be printed along with N.  Therefore, at 
  286.         print time they need to be in consecutive locations.  Since N is 
  287.         already in 1901 and 1902 was not used, it is logical to assign 
  288.         1902 for F.
  289.         
  290.         At location 0021 we have the beginning of a loop.  Since location 
  291.         0021 can be entered two ways, once from 0020 and later from 0032, 
  292.         we must be careful about what is in the accumulator at the begin-
  293.         ning of this loop.  Normally we would load the accumulator at the 
  294.         beginning of the loop.  But by careful planning we see that we 
  295.         can have K already in the accumulator when we enter from either 
  296.         direction.  This saves the load instruction.
  297.         
  298.         Figure II-6 shows what would appear on the screen if the program 
  299.         is traced and the values 3 and 13 are entered for N.
  300.         
  301.                                       II-5
  302.  
  303.  
  304.         A:\TRAC FIGII-5
  305.                                    TRAining Computer (TRAC)
  306.                                          Version  1.0
  307.                                         Copyright 1990
  308.                                  CASTLE OAKS COMPUTER SERVICES
  309.                                      Post Office Box 36082
  310.                                   Indianapolis, IN 46236-0082
  311.         
  312.         Do you want to trace the program? (Y or N) y
  313.         Do you want to trace it on screen (S) or on file (F)? s
  314.           10 0 40 1901           0           0
  315.         ? 3
  316.           11 0  0 1901           3           1
  317.           12 0 24   16      500000           3
  318.           13 0 25   16      500000           3
  319.           14 0  2 1801          13           3
  320.           15 0 24   17        1802         -10
  321.           17 0  0 1802           1         -10
  322.           18 0  3 1902           2           1
  323.           19 0  0 1803           2           1
  324.           20 0  3 1804           3           2
  325.           21 0  2 1901           3           2
  326.           22 0 24   26        1902          -1
  327.           26 0  0 1902           1          -1
  328.           27 0 15 1804           2           1
  329.           28 0  3 1902           1           2
  330.           29 0  0 1804           2           2
  331.           30 0  1 1802           1           2
  332.           31 0  3 1804           2           3
  333.           32 0 26   21       21901           3
  334.           21 0  2 1901           3           3
  335.           22 0 24   26        1902           0
  336.           23 0 25   26        1902           0
  337.           26 0  0 1902           2           0
  338.           27 0 15 1804           3           2
  339.           28 0  3 1902           2           6
  340.           29 0  0 1804           3           6
  341.           30 0  1 1802           1           3
  342.           31 0  3 1804           3           4
  343.           32 0 26   21       21901           4
  344.           21 0  2 1901           3           4
  345.           22 0 24   26        1902           1
  346.           23 0 25   26        1902           1
  347.           24 0 41 1901           3           1
  348.                  3          6          0          0          0
  349.           25 0 26   10      401901           1
  350.           10 0 40 1901           3           1
  351.         ? 13
  352.           11 0  0 1901          13           1
  353.           12 0 24   16      500000          13
  354.           13 0 25   16      500000          13
  355.           14 0  2 1801          13          13
  356.           15 0 24   17        1802           0
  357.           16 0 50    0           0           0
  358.         
  359.                                   Figure II-6
  360.         
  361.                                       II-6
  362.  
  363.  
  364.         Another simple problem is shown in Figure II-7.  In this program 
  365.         we will raise a number, X, to any positive power, N.  We cannot 
  366.         do a negative power since that would result in a fraction.  
  367.         Therefore, we will use a negative N to terminate execution of the 
  368.         program.
  369.         
  370.         -----------------------------------------------------------------
  371.                                         |
  372.                                         v
  373.                                    -----------
  374.                                   / Read N,X /<-----------------+
  375.                                   -----------                   |
  376.                                         |                       |
  377.                                         v                       |
  378.                                     +-------+                   |
  379.                                     | F = 1 |                   |
  380.                                     | K = N |                   |
  381.                                     +-------+                   |
  382.                                +------->|                       |
  383.                                |        v                       |
  384.                            +-------+ > / \ =    --------------  |
  385.                            | F=F*X |<-<K:0>--->/ Print N,X,F /--+
  386.                            | K=K-1 |   \ /     --------------
  387.                            +-------+    | <
  388.                                         |   
  389.                                         v
  390.                                     +------+
  391.                                     | STOP |
  392.                                     +------+
  393.         
  394.                                   Figure II-7
  395.         -----------------------------------------------------------------
  396.         The coding is shown in Figure II-8.
  397.         
  398.         -----------------------------------------------------------------
  399.         1001     400011 Read N, X into 11, 12
  400.         1002     001501 Load A with a 1
  401.         1003     030013 Store F at 13
  402.         1004     000011 Load N into A
  403.         1005     031502 Store at K
  404.         1006     241017 Jump to stop instruction
  405.         1007     251015 Jump to print
  406.         1008     000013 Load F
  407.         1009     150012 Multiply by X
  408.         1010     030013 Store at F
  409.         1011     001502 Load K
  410.         1012     021501 Subtract 1
  411.         1013     031502 Store at K
  412.         1014     261006 Go back to start of loop
  413.         1015     410011 Print N, X, F
  414.         1016     261001 Jump to beginning of program
  415.         1017     500000 Stop the program
  416.         1501          1 Constant 1
  417.         9999     001001 End of code
  418.         
  419.                                   Figure II-8
  420.         -----------------------------------------------------------------
  421.                                       II-7
  422.  
  423.  
  424.         Figure II-9 shows some sample results of the program as they 
  425.         would appear on the screen.
  426.         
  427.         -----------------------------------------------------------------
  428.         A:\>TRAC FIGII-8.OBJ
  429.                                  TRAining Computer (TRAC)
  430.                                        Version  1.0
  431.                                       Copyright 1990
  432.                                CASTLE OAKS COMPUTER SERVICES
  433.                                    Post Office Box 36082
  434.                                 Indianapolis, IN 46236-0082
  435.         
  436.         Do you want to trace the program? (Y or N) n
  437.         ? 10 2
  438.                 10          2       1024          0          0
  439.         ? 10 4
  440.                 10          4    1048576          0          0
  441.         ? 3 1234
  442.                  3       1234  879080904          0          0
  443.         ? -1
  444.         
  445.         A:\>
  446.         
  447.                                   Figure II-9
  448.         -----------------------------------------------------------------
  449.         
  450.         In this program there is no simple way to determine that the 
  451.         answer will exceed the capacity of the A register.  Therefore 
  452.         there is a possibility of having an overflow.  That happened in 
  453.         the case of raising 1234 to the 3rd power.  The correct answer is 
  454.         1879080904.
  455.         
  456.         Each of the example programs are included in the package.  The 
  457.         ones associated with this lesson are FIGII-1.OBJ, FIGII-5.OBJ, 
  458.         and FIGII-8.OBJ.  You should run each of these and experiment 
  459.         with various inputs, tracing, etc. before trying one of your own 
  460.         programs.
  461.         
  462.         When you are comfortable with how to execute and trace a program 
  463.         then you might experiment with the above programs such as chang-
  464.         ing from printing to the screen to printing to the printer.  You 
  465.         should try executing your Exercise I-1 now.  Then you should code 
  466.         and execute exercise II-1.  The flow chart for this exercise 
  467.         appears on the next page.
  468.         
  469.         In this program, you are to enter 10 values (done in two reads 
  470.         and the second read should use locations that immediately follow 
  471.         those of the first read.)  The program will do a "minimum-in-
  472.         pass" sort and the sorted array is printed.  It will be necessary 
  473.         to use two index registers.
  474.         
  475.         
  476.         
  477.         
  478.         
  479.         
  480.         
  481.                                       II-8
  482.  
  483.  
  484.                          |
  485.                          v
  486.           --------------------------------
  487.          / Read A(0),A(1),A(2),A(3),A(4) /
  488.          --------------------------------
  489.                          |
  490.                          v
  491.           --------------------------------
  492.          / Read A(5),A(6),A(7),A(8),A(9) /
  493.          -------------------------------- 
  494.                          |
  495.                          v
  496.                       +-----+
  497.                       | J=0 |
  498.                       +-----+
  499.                          |
  500.                          v
  501.                     +---------+
  502.                     | S=A(J)  |<-------------+
  503.                     | I=J+1   |              |
  504.                     +---------+              |
  505.                          |                   |
  506.                          v                   |
  507.                         / \                  |
  508.                        /   \  >=             |
  509.                 +----><A(I) >------+         |
  510.                 |      \ :S/       |         |
  511.                 |       \ /        |         |
  512.                 |        | <       |         |
  513.                 |        v         |         |
  514.                 |   +---------+    |         |
  515.                 |   | T=S     |    |         |         
  516.                 |   | S=A(I)  |    |         |         +-------+
  517.                 |   | A(I)=T  |    |         |         | STOP  |
  518.                 |   +---------+    |         |         +-------+
  519.                 |        |         |         |             ^    
  520.                 |        v         |         |             |    
  521.                 |    +-------+     |         |   -------------------------
  522.                 |    | I=I+1 |<----+         |  / Print                  /
  523.                 |    +-------+               | /A(5),A(6),A(7),A(8),A(9)/
  524.                 |        |                   | -------------------------
  525.                 |        v                   |             ^
  526.                 |       / \                  |             |
  527.                 |    < /   \                 |   -------------------------
  528.                 +-----<I:10 >                |  / Print                  /
  529.                        \   /                 | /A(0),A(1),A(2),A(3),A(4)/
  530.                         \./                  | -------------------------
  531.                          | >=                |             ^
  532.                          v                 < |             |
  533.                      +-------+  +-------+   / \ >=         |
  534.                      | A(J)=S|->| J=J+1 |-><J:9>-----------+
  535.                      +-------+  +-------+   \./   
  536.         
  537.                                  Exercise II-1
  538.         
  539.         
  540.         
  541.                                       II-9
  542.  
  543.  
  544.         Here (Figure II-10) is a method of multiplying two 9-digit numbers 
  545.         to obtain an 18-digit product as promised earlier.  The factors are 
  546.         each divided into three 3-digit groups.  Then individual products 
  547.         are found and summed with proper attention to overflow digits.  See 
  548.         the comments for more detail.  Try tracing this program (on disk as 
  549.         DOUBLMPY.OBJ) using the factors 999888777 and 666555444.  These 
  550.         factors will help illustrate the isolation of the groups and how the 
  551.         product is reassembled.  Note that if the lower part of the product 
  552.         has leading zeroes, TRAC does not print them.  A shorter program for 
  553.         doing this multiply could probably be devised but this method was 
  554.         chosen because of its symmetry.  If it is known that the product 
  555.         will contain fewer than 18 digits, the program could be modified so 
  556.         fewer steps would be required.
  557.         
  558.         0010     401000 Read A and B        0050     151503 Times Z           
  559.         0011     001000 Load A              0051     031507 V*Z --> T            
  560.         0012     360006 Isolate high 3      0052     001506 Load W            
  561.         0013     031501 Store as X          0053     151502 Times Y           
  562.         0014     001000 Load A              0054     011507 Plus V*Z          
  563.         0015     370003 Isolate             0055     011003 Plus LOWER        
  564.         0016     360006    middle 3         0056     031003 V*Z+W*Y+???000
  565.         0017     031502 Store as Y          0057     001506 Load W            
  566.         0018     001000 Load A              0058     151503 Times Z           
  567.         0019     370006 Isolate             0059     031507 W*Z --> T            
  568.         0020     360006    low 3            0060     360003 Isolate high 3    
  569.         0021     031503 Store as Z          0061     011003 Plus LOWER        
  570.         0022     001001 Load B              0062     031003 Save at LOWER     
  571.         0023     360006 Isolate high 3      0063     360006 Isolate carry     
  572.         0024     031504 Store as U          0064     031508 Save at CARRY     
  573.         0025     001001 Load B              0065     001003 Load LOWER        
  574.         0026     370003 Isolate             0066     370003 Shift off carry   
  575.         0027     360006    middle 3         0067     031003 Save at LOWER     
  576.         0028     031505 Store as V          0068     001507 Load W*Z          
  577.         0029     001001 Load B              0069     370006 Isolate           
  578.         0030     370006 Isolate             0070     360006    low 3          
  579.         0031     360006    low 3            0071     011003 Plus LOWER        
  580.         0032     031506 Store as W          0072     031003 Save at LOWER     
  581.         0033     151501 Times X             0073     001504 Load U            
  582.         0034     031507 X*W --> T           0074     151502 Times Y           
  583.         0035     001505 Load V              0075     031507 U*Y --> T            
  584.         0036     151502 Times Y             0076     001505 Load V            
  585.         0037     011507 Plus X*W            0077     151501 Times X           
  586.         0038     031507 X*W+V*Y --> T       0078     011507 Plus U*Y          
  587.         0039     001504 Load U              0079     011002 Plus UPPER        
  588.         0040     151503 Times Z             0080     011508 Plus CARRY        
  589.         0041     011507 Plus X*W+V*Y        0081     031002 Save at UPPER     
  590.         0042     031507 X*W+V*Y+U*Z --> T   0082     001504 Load U            
  591.         0043     360003 Isolate high 3 or 4 0083     151501 Times X           
  592.         0044     031002 Save in UPPER       0084     370003 Position U*X      
  593.         0045     001507 Load X*W+V*Y+U*Z    0085     011002 Plus UPPER        
  594.         0046     370006 Isolate             0086     031002 Save at UPPER     
  595.         0047     360003    low 3            0087     411000 Print A,B,Product 
  596.         0048     031003 Save in LOWER       0088     500000 Halt              
  597.         0049     001505 Load V              9999     000010                   
  598.         
  599.                                   Figure II-10
  600.         
  601.                                       II-10
  602.